IPL 2022 Analysis¶

The dataset that I am using for the task of IPL 2022 analysis is downloaded from Kaggle.

Every sporting event today generates a lot of data about the game, which is used to analyze the performance of players, teams, and every event of the game. So the use of data science is in every sport today.

In this report, we delve into the statistics, trends, and insights emerging from IPL 2022, offering a comprehensive overview of the tournament's performance and player contributions. Leveraging statistical analysis and visualization, our analysis aims to uncover key match attributes and performances in IPL 2022 . This report enriches the discourse around IPL 2022, providing stakeholders, enthusiasts, and cricket aficionados with a data-driven perspective on the tournament's triumphs, challenges, and memorable moments.

In [1]:
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go

data = pd.read_csv("Book_ipl22_ver_33.csv")
print(data.head())
   match_id           date                                         venue  \
0         1  March 26,2022                      Wankhede Stadium, Mumbai   
1         2  March 27,2022                     Brabourne Stadium, Mumbai   
2         3  March 27,2022            Dr DY Patil Sports Academy, Mumbai   
3         4  March 28,2022                      Wankhede Stadium, Mumbai   
4         5  March 29,2022  Maharashtra Cricket Association Stadium,Pune   

       team1      team2  stage toss_winner toss_decision  first_ings_score  \
0    Chennai    Kolkata  Group     Kolkata         Field               131   
1      Delhi     Mumbai  Group       Delhi         Field               177   
2   Banglore     Punjab  Group      Punjab         Field               205   
3    Gujarat    Lucknow  Group     Gujarat         Field               158   
4  Hyderabad  Rajasthan  Group   Hyderabad         Field               210   

   first_ings_wkts  second_ings_score  second_ings_wkts match_winner   won_by  \
0                5                133                 4      Kolkata  Wickets   
1                5                179                 6        Delhi  Wickets   
2                2                208                 5       Punjab  Wickets   
3                6                161                 5      Gujarat  Wickets   
4                6                149                 7    Rajasthan     Runs   

   margin player_of_the_match      top_scorer  highscore      best_bowling  \
0       6         Umesh Yadav        MS Dhoni         50      Dwayne Bravo   
1       4       Kuldeep Yadav    Ishan Kishan         81     Kuldeep Yadav   
2       5         Odean Smith  Faf du Plessis         88    Mohammed Siraj   
3       5      Mohammed Shami    Deepak Hooda         55    Mohammed Shami   
4      61        Sanju Samson   Aiden Markram         57  Yuzvendra Chahal   

  best_bowling_figure  
0               3--20  
1               3--18  
2               2--59  
3               3--25  
4               3--22  

The dataset contains all the information needed to summarize the story of IPL 2022 so far. So let’s start by looking at the number of matches won by each team in IPL 2022:

In [2]:
figure = px.histogram(data, x=data["match_winner"],
            title="Number of Matches Won in IPL 2022")
figure.show()

Now let’s see how most of the teams win. Here we will analyze whether most of the teams win by defending (batting first) or chasing (batting second):

In [3]:
data["won_by"] = data["won_by"].map({"Wickets": "Chasing", 
                                     "Runs": "Defending"})
won_by = data["won_by"].value_counts()
label = won_by.index
counts = won_by.values
colors = ['gold','lightgreen']

fig = go.Figure(data=[go.Pie(labels=label, values=counts)])
fig.update_layout(title_text='Number of Matches Won By Defending Or Chasing')
fig.update_traces(hoverinfo='label+percent', textinfo='value', 
                  textfont_size=30,
                  marker=dict(colors=colors, 
                              line=dict(color='black', width=3)))
fig.show()

Now let’s see what most teams prefer (batting or fielding) after winning the toss:

In [4]:
toss = data["toss_decision"].value_counts()
label = toss.index
counts = toss.values
colors = ['skyblue','yellow']

fig = go.Figure(data=[go.Pie(labels=label, values=counts)])
fig.update_layout(title_text='Toss Decision')
fig.update_traces(hoverinfo='label+percent', 
                  textinfo='value', textfont_size=30,
                  marker=dict(colors=colors, 
                              line=dict(color='black', width=3)))
fig.show()

Now let’s see the top scorers of most IPL 2022 matches:

In [5]:
figure = px.bar(data, x=data["top_scorer"],
            title="Top Scorers in IPL 2022")
figure.show()

Let’s analyze it deeply by including the runs scored by the top scorers:

In [6]:
figure = px.bar(data, x=data["top_scorer"], 
                y = data["highscore"], 
                color = data["highscore"],
            title="Top Scorers in IPL 2022")
figure.show()

Now let’s have a look at the most player of the match awards till now in IPL 2022:

In [7]:
figure = px.bar(data, x = data["player_of_the_match"], 
                title="Most Player of the Match Awards")
figure.show()

Now let’s have a look at the bowlers with the best bowling figures in most of the matches:

In [8]:
figure = px.bar(data, x=data["best_bowling"],
            title="Best Bowlers in IPL 2022")
figure.show()

Now let’s have a look at whether most of the wickets fall while setting the target or while chasing the target:

In [9]:
figure = go.Figure()
figure.add_trace(go.Bar(
    x=data["venue"],
    y=data["first_ings_wkts"],
    name='First Innings Wickets',
    marker_color='gold'
))
figure.add_trace(go.Bar(
    x=data["venue"],
    y=data["second_ings_wkts"],
    name='Second Innings Wickets',
    marker_color='lightgreen'
))
figure.update_layout(barmode='group', xaxis_tickangle=-45)
figure.show()

Summary¶

So this is how you can perform the task of IPL 2022 analysis using Python. IPL 2022 is going great for Gujrat as a new team this year. Jos Buttler and KL Rahul have been great with the bat, and Yuzvendra Chahal and Kuldeep Yadav have been great with the bowl. I hope you liked this article on IPL 2022 analysis using Python. Feel free to ask valuable questions in the comments section below.